⑴ c語言中如何隨機顯示計算題 然後用戶輸入答案 統計作對的個數 然後再輸出正確率
可以用random函數來生成隨機數,程序計算結果並與用戶的輸入比較,統計正確的和總題數.計算正確率
⑵ c語言,怎麼讓一行顯示十個數,只能用while循環,如圖
在循環裡面(printf語句後)加上:
if(i%30==0) printf('\n');
即可
目標程序是輸出1000以內3的倍數,若要每10個數換行,則當輸出30的倍數之後輸出一個換行符即可。
純手打,望採納,謝謝。
⑶ c語言 給小學生出計算題 調試加簡單界面
程序改好了 界面先放放吧 不用graphics.h的話做個簡單的歡迎界面還是可以的
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char d1,d2;
int Getanum(int num)
{
int a;
srand(num*num+time(0));
a=(rand()+num)%10;//產生10以內的隨機數
return a;
}
int main()
{
int i,num,a,b,c,op,error;
error = 0;//錯誤數置零
num = 100;//使得下面的while循環成立即可
printf("同學們,開始做題嘍!輸入題數吧^.^:");
scanf("%d",&num);
for(i=0;i<num;i++)//每次出題開始
{
a = Getanum(i);//第一個操作數
b = Getanum(a);//第二個
op = (Getanum(a+b)+b)%2;//產生符號 +或者-
switch(op)
{
case 0://+
if(a+b>10)//超過10重新來
{
i--;
break;
}
else
{
printf("%d : %d + %d = ",i+1,a,b);//出題
while(!scanf("%d",&c))
{
fflush(stdin);
}//取輸入的結果
if(c != a+b)//答案錯誤
{
printf("出錯啦,做題要仔細哦!\n");
error++;
}
else//正確答案鼓勵一下
{
printf("真棒!再接再厲哦!\n");
}
}
break;
case 1://-
if(b>a)//保證a>b 使得不出現負數
{
a=a+b;
b=a-b;
a=a-b;
}
printf("%d : %d - %d = ",i+1,a,b);//出題
scanf("%d",&c);//取結果
if(c != a-b)
{
printf("出錯啦,做題要仔細哦!\n");
error++;//錯誤自加
}
else
{
printf("真棒!再接再厲哦!\n");
}
break;
default:
break;
}
}
printf("%d 道題錯誤!\n",error);//輸出錯誤數
printf("你的正確率為百分之 %d .\n",(num-error)*100/num);//所得分數
printf("還需要多加努力哦,繼續做題么?\n繼續請輸入y,不繼續請輸入n");
fflush(stdin);
d1=getchar();
if(d1=='y')
main();
else
{
printf("byebye!\n");
exit(0);
}
return 0;
}
⑷ C語言問題printf("%d%%d=%d",a,b,g);我要顯示數%數=答案 怎麼處理啊 那位高手來幫幫忙啊
printf("%d\%%d=%d",a,b,g); //加個'\'
⑸ C語言編程,顯示的數是什麼
隨機的
分配空間後沒有初始化,內存里仍存儲著無意義的信息,程序按照整形數據格式讀取並輸出,故顯示的數取決於內存區域里的內容,這些內容自然不是你寫入的,而是其它程序或者操作系統在這個程序運行前寫入的。
⑹ 輸出序號、學號、完成題數、總提交次數的簡單C語言問題
#include<stdio.h>
#include<string.h>
typedef struct node
{
char uid[20];
int ac;
int sum;
}node;
int main()
{
node stu[100],m;
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s%d%d",stu[i].uid,&stu[i].ac,&stu[i].sum);
}
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(stu[j].ac<stu[j+1].ac)
{
m=stu[j];
stu[j]=stu[j+1];
stu[j+1]=m;
}
else if(stu[j].ac==stu[j+1].ac&&stu[j].sum>stu[j+1].sum)
{
m=stu[j];
stu[j]=stu[j+1];
stu[j+1]=m;
}
}
}
for(i=0;i<n;i++)
{
printf("%d %s %d %d\n",i+1,stu[i].uid,stu[i].ac,stu[i].sum);
}
return 0;
}
⑺ C語言題目:編寫程序,從終端讀取一個數字,然後使用英語逐步顯示該數,
#include <stdio.h>
#include <string.h>
char *number[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
int main(int argc, char* argv[]) {
char line[1000];
int i = 0;
scanf("%s", line);
while (line[i] != '\0') {
printf("%s ", number[line[i]-'0']);
i ++;
}
printf("\n");
return 0;
}
⑻ C語言編程題:任意輸入一個數,使其在輸出屏幕上顯示出他是幾位數,且顯示出每位的具體數字。
char sNum[8];
int number = 0;
int nCount = 0;
cin >> number;
char string[25];
memset(string, 0, 25);
itoa(number, string, 10);
for ( int i = 0; i < 25; i++ )
{
if ( string[i] != '\0' )
{
cout << string[i]<< endl;
nCoutn++;
}
else
cout << nCount << endl;
}
⑼ C語言題目 任意輸入100個數,然後將它們按從大到小的順序顯示出來。求幫忙
#include<iostream.h>
void main()
{
int a[100],i,j,t;
for(i=0;i<100;i++)
{
cin>>a[i];
}
for(i=0;i<99;i++)
{
for(j=i+1;j<100;j++)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<100;i++)
{
cout<<a[i]<<endl;
}
}