A. c语言作业!!求助~~~
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
int scan()
{
char s[100];
int i,t,z=0;
do
{
z=0;
gets(s);
for(i=0;s[i]!='\0';i++)
if(s[i]<'0' || s[i]>'9') break;
if(i>=strlen(s))
for(t=0;s[t]!='\0';t++)
z=z*10+((int)s[t]-48);
else
printf("您的输入有误,请重新输入");
}
while(i<strlen(s));
return(z);
}
int x=1,y=1,choice=0,sum=0,right=0,z=0,answer;
float precent;
char fuhao;
void suiji()
{
srand(time(NULL));
x=rand()%100+1;
y=rand()%100+1;
}
void choose()
{
int yunsuan(int,int,int);
if(sum==0) precent=0.0;
else precent=(float)right/sum;
printf("\n如需进行加减乘除运算测试,请分别输入1、2、3、4\n");
printf("如需退出请输入5\n");
choice=scan();
switch(choice)
{
case 1:printf("欢迎来到加法运算测试系统,如需退出请输入9999\n");fuhao='+';break;
case 2:printf("欢迎来到减法运算测试系统,如需退出请输入9999\n");fuhao='-';break;
case 3:printf("欢迎来到乘法运算测试系统,如需退出请输入9999\n");fuhao='*';break;
case 4:printf("欢迎来到除法运算测试系统,如需退出请输入9999\n");fuhao='/';break;
case 5:printf("本次测试愉快,欢迎下次再来测试\n");
printf("本次共做%d道题,其中%d道正确,正确率为%f\n",sum,right,precent);
break;
default:printf("您的输入有误,请重新输入\n");choose();
}
}
int ans(int x,int y,int choice)
{
switch(choice)
{
case 1:z=x+y;break;
case 2:z=x-y;break;
case 3:z=x*y;break;
case 4:z=x/y;break;
}
return(z);
}
void yunsuan()
{
suiji();
printf("%d%c%d=",x,fuhao,y);
z=ans(x,y,choice);
answer=scan();
if(z==answer)
{
printf("正确\n");
right++;sum++;
yunsuan();
}
else if(answer==9999) choose();
else
{
printf("不正确, 正确答案为%5d\n",z);
sum++;
yunsuan();
}
}
void main()
{
printf("欢迎来到四则运算测试系统\n");
choose();
while(choice!=5)
yunsuan();
}
B. 怎么进行2句话比较(汉字)。并且算出正确率啊 C语言的。(像打字游戏那样)
使用指针 一个字一个字进行比较 设置变量存储匹配的汉字个数
float compare(char*str1,char*str2,int n)
{
int count=0;;
char p,q;
p=str1;q=str2;
while(p!=null)
{
if(*p==*q)
count++;
p++;q++l
}
return count/n
}
C. c语言中如何随机显示计算题 然后用户输入答案 统计作对的个数 然后再输出正确率
可以用random函数来生成随机数,程序计算结果并与用户的输入比较,统计正确的和总题数.计算正确率
D. 请问在c语言中如何输出百分数
只要在格式控制符里输入2个 %% 就可以了,例如:
#include <stdio.h>
int main()
{
int a=90;
printf("%d%% ",a);
return 0;
}
这样就会在屏幕上得到 90%
(4)c语言正确率怎么表示扩展阅读:
输出的简单代码
代码一:
#include<stdio.h>
int main()
{
printf("%%");
return 0;
}
代码二:
#include<stdio.h>
int main()
{
printf("\%");
return 0;
}
注:在这一对代码中,1能够显示百分号,2不能
E. C语言“%d %c %f”表示什么
printf 系列函数输出格式通配符:%d 表示将输出值以整数对待;%c 表示以(ASCII)字符对待;%f 表示以32bit浮点数对待。举例如下:
printf("%d", v); 此时不论变量 v 是何种类型,都输出对应的整数值,比如 v 是一个指针,则输出指针地址。
printf("%c", v); 此时不论变量 v 是何种类型,都输出成一个 ASCII 字符,如果 v 是一个大于 8bit 的数据类型,也只取前 8bit。
printf("%f", v); 此时程序会将 v 看作 32bit 浮点型数据。
F. 用C语言设计一个儿童四则运算程序,根据用户的设定自动出题并对全部回答进行判断,全部答完后统计正确率
/*程序功能:一开始程序自动进入第一轮运算测试,通过按“p”“m”“t”“d”而选择加、减、乘、除运算,再每做完一道题
时按回车继续该运算,按“p”“m”“t”“d”进行相应运算切换,其间可按“s”退出该轮测试;
若按了“s”则选择是否进行下一轮,按分别按“y”“n”表示是或不是。*/
# include <stdio.h>
# include <time.h>
# include <stdlib.h>
void main()
{int p[2]={0},m[2]={0},t[2]={0},d[2]={0},i=0,j=0,k=0;//数组分别存放每轮做相应运算的总数和正答个数;k、j分别记所做轮数和每轮所做的题数
char c,exit='y';
void pluss(int *p);
void minus(int *m);
void times(int *t);
void division(int*t);
void test(int*p,int*m,int*t,int*d);
while(exit!='n'){ //输出提示语
printf("\n 按 \"p\"--->\"+\"运算; 按 \"m\"--->\"-\"运算;\n 按 \"t\"--->\"*\"运算; 按 \"d\"--->\"/\"运算;");
printf(" 按 \"s\"--->\"退出该轮测试\"\n 做完每道题后您可按回车键继续该运算或切换到别的运算");
printf("\n\n欢迎进入第%d轮测试 请选择运算 ",++k);
c=getchar();
if(k!=1)c=getchar();//选择运算
while(c!='s'){
while(c=='p'||(c!='s'&&c!='m'&&c!='t'&&c!='d')){printf("第%d道 ",++j);pluss(p);c=getchar();c=getchar();}
while(c=='m'||(c!='s'&&c!='p'&&c!='t'&&c!='d')){printf("第%d道 ",++j);minus(m);c=getchar();c=getchar();}
while(c=='t'||(c!='s'&&c!='m'&&c!='p'&&c!='d')){printf("第%d道 ",++j);times(t);c=getchar();c=getchar();}
while(c=='d'||(c!='s'&&c!='m'&&c!='t'&&c!='p')){printf("第%d道 ",++j);division(d);c=getchar();c=getchar();}
}
test(p,m,t,d); //按s后退出一轮测试,调用函数给出测试结果
printf("\n 按 \"y\"---> \"进入第%d轮\" 按 \"n\"---> \"退出程序\" ",k+1);
exit=getchar();exit=getchar();
if(exit!='n'){ //按s后选则是否进入下一轮
j=0;
for(i=0;i<2;i++)p[i]=m[i]=t[i]=d[i]=0;
}
}
printf("\n\n Bye-Bye\n\n");
}
void pluss(int *p){
int y,x,sum;
srand (time(NULL));
x=(int)rand()%10+1;
y=(int)rand()%10+1;
printf("%d+%d=",x,y);
scanf("%d",&sum);
p[0]++;
if(sum==x+y){printf("Congratuations! ");p[1]++;}
else printf("Sorry! Right answer is %d ",x+y);}
void minus(int *m){
int y,x,minus;
srand (time(NULL));
x=(int)rand()%10+1;
y=(int)rand()%10+1;
m[0]++;
printf("%d-%d=",x+y,y);
scanf("%d",&minus);
if(minus==x){printf("Congratulations! ");m[1]++;}
else printf("Sorry! Right answer is %d ",x);
}
void times(int *t){
int y,x,tim;
srand (time(NULL));
x=(int)rand()%10+1;
y=(int)rand()%10+1;
printf("%d*%d=",x,y);
scanf("%d",&tim);
t[0]++;
if(tim==x*y){printf("Congratulations! ");t[1]++;}
else printf("Sorry! Right answer is %d ",x*y);
}
void division(int *d){
int y,x,div;
srand (time(NULL));
x=(int)rand()%10+1;
y=(int)rand()%10+1;
printf("%d/%d=",x*y,y);
scanf("%d",&div);
d[0]++;
if(div==x){printf("Congratulations! ");d[1]++;}
else printf("Sorry! Right answer is %d ",x);
}
void test(int *p,int*m,int*t,int*d){
int s[2];
float rate;
s[0]=p[0]+m[0]+t[0]+d[0];
s[1]=p[1]+m[1]+t[1]+d[1];
rate=s[1]/(s[0]*1.0);
if(rate>0.8)printf("\nYou have done a good job !\n\n");
else if(rate<0.6)printf("\nYou have done a bad job !\n\n");
else printf("\nCome on! You can do it better !\n\n");
if(s[0]!=0)
printf("total done:%d right:%d rate:%5.2f%c\n",s[0],s[1],rate*100,'%');
else printf("total done:0 right:0\n");
if(p[0]!=0)
printf("\"+\" done:%d right:%d rate:%5.2f%c ",p[0],p[1],(p[1]/(p[0]*1.0))*100,'%');
else printf("\"+\" done:%d right:%d ",p[0],p[1]);
if(m[0]!=0)
printf("\"-\" done:%d right:%d rate:%5.2f%c\n",m[0],m[1],(m[1]/(m[0]*1.0))*100,'%');
else printf("\"-\" done:%d right:%d\n",m[0],m[1]);
if(t[0]!=0)
printf("\"*\" done:%d right:%d rate:%5.2f%c ",t[0],t[1],(t[1]/(t[0]*1.0))*100,'%');
else printf("\"*\" done:%d right:%d ",t[0],t[1]);
if(d[0]!=0)
printf("\"/\" done:%d right:%d rate:%5.2f%c\n",d[0],d[1],(d[1]/(d[0]*1.0))*100,'%');
else printf("\"/\" done:%d right:%d\n",d[0],d[1]);
}
找过来的,运行下看看是否可行。
G. 用c语言编程,随机出十道100以内的加减乘除,并判断对错和正确率
#include#include#includevoidmain(){inta[100];inti,j,n,m,k;for(i=0;ia[m+1]){k=a[m];a[m]=a[m+1];a[m+1]=k;}}}printf("产生的随机数由小到大排序为:\n");for(j=0;j<100;j++){printf("%d",a[j]);}}这只是简单的冒泡排序,如果要用选择排序只需要把排序那块改一下,如果还不明白+965974742
H. C语言中,如何将小数转化为百分数
将小数乘以100就可以得到百分数,具体实现可以参考如下程序:
#include<stdio.h>
voidmain()
{
floatpercent;
scanf("%f",&percent);//输入小数
if(percent<0||percent>1)//如果小数不在0~1的范围内,则输出错误提示
printf("输入的小数错误");
else//输入的小数在0~1的范围内,则输出对应的百分数形式
printf("%f对应的百分数为:%f%",percent,100*percent);
}
I. C语言中如何表示概率
现成的函数没有,可以通过产生随机数实现概率。
srand((unsigned)time(NULL));
int m,r=0;
m=rand()%10;
if(m==1||m==2||m==3||m==4||m==5||m==6||m==7)
{
r=r+1;
}
这段代码中,执行r=r+1的概率就是0.7
希望可以帮到你
J. C语言中%c,%s分别代表什么意思
%c在C语言中代表字符型格式符。
%s在C语言中代表字符串型格式符。
%c和%s一般用在printf、sprintf等字符串格式化函数中,用于决定格式化参数的数据类型。如printf("%s", a)会将变量a作为字符串类型进行格式化。
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
(10)c语言正确率怎么表示扩展阅读:
C语言中所有格式化类型的定义:
1、%d/i
接受整数值并将它表示为有符号的十进制整数,i是老式写法
2、%o
无符号8进制整数(不输出前缀0)
3、%u
无符号10进制整数
4、%x/X
无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)
5、%f(lf)
单精度浮点数和双精度浮点数用f(lf在C99开始加入标准,意思和f相同)
6、%e/E
科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写
7、%g/G
有效位数,如:%.8g表示单精度浮点数保留8位有效数字。
8、%c
字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
9、%s/S
字符串。输出字符串中的字符直至字符串中的空字符(字符串以'