在一个城镇,男性的比例是52.识字总人数的百分比是48.如果识字男性的总百分比是总人口的35,那么分别找到文盲男女总人数。是80,000。
我的数学书中有这个问题,我试着写一个程序。
构建程序后,编译器显示没有错误,但程序不会给出所需的结果。我多次重写程序,下面给出的代码是我的最后一个。我认为必定存在一些算术关联错误,但无法弄清楚在哪里。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int men, wmen, litm, litwo, illit, lit, tot=80000, illitwmen;
men = (52/100) * 80000;
wmen = tot-men;
lit = (48/100) * 80000;
litm = (35/100) * 80000;
litwo = lit-litm;
illitwmen = wmen-litwo;
printf("Hence the total illiterate men of the town is %d\n", men-litm);
printf("Hence the total illiterate women is %d\n", illitwmen);
return 0;
}
答案 0 :(得分:3)
要解决此问题,请使用double
:
#include <stdio.h>
#include <stdlib.h>
int main()
{
double men,wmen,litm,litwo,illit,lit,tot=80000,illitwmen;
men=(52.0/100.0)*80000.0;
wmen=tot-men;
lit=(48.0/100.0)*80000.0;
litm=(35.0/100.0)*80000.0;
litwo=lit-litm;
illitwmen=wmen-litwo;
printf("Hence the total illiterate men of the town is %d\n",men-litm);
printf("Hence the total illiterate women is %d\n",illitwmen);
return 0;
}
编辑:我讨厌移动电话接听
答案 1 :(得分:1)
改为使用(如果你想保持整数):
men=(52*80000)/100;
wmen=tot-men;
lit=(48*80000)/100;
litm=(35*80000)/100;
此外,您可能需要处理四舍五入。