當前位置:首頁 » 編程語言 » c語言正確率怎麼表示
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言正確率怎麼表示

發布時間: 2022-10-29 00:00:51

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

字元串。輸出字元串中的字元直至字元串中的空字元(字元串以'『結尾,這個''即空字元)

10、%p

以16進制形式輸出指針

11、%n

到此字元之前為止,一共輸出的字元個數,不輸出文本

12、%%

不進行轉換,輸出字元『%』(百分號)本身

13、%m

列印errno值對應的出錯內容,(例:printf("%m ");)