c语言批改

c语言批改,第1张

#include<stdio.h>亩粗

main()

{

int i,n=0

int rest=0,inbank=0

for(i=0i<12i++)

{

scanf("%d",&n)

rest+=300-n

if(rest>=100) {rest-=100inbank+=100}

if(rest<0&&n==0) {printf("%d"迅烂镇,i+1)return 0}

}

printf("%d",(int)(rest+inbank*1.2))//应用%d 因为后面你强制转换为int的了 或者把历和强行转换去掉

}

少年,橘行旅写好了,给你参考一下。还可以更复杂。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 10

int Test()

{

int num = 0

int answer = 0

int result = 0

int m = 0

int n = 0

char op = 0

int count = N

while ( count-- )

{

m = rand() % 10

n = rand() % 10

op = rand() % 4

switch ( op )

{

case 0:

op = '+'

answer = m+n

break

case 1:

op = '-'

answer = m-n

break

case 2:

op = '圆凳*'

answer = m*n

break

case 3:

n++

op = '/'

answer = m/n

break

default:

break

}

printf("\n题目:")

printf("%d%c%d=?\n", m, op, n)

printf("请输入答案:")

scanf("%d", &result)

if ( answer == result )

num++

}

return num

}

int main()

{

srand( time(NULL) )

printf("带兆开始做题:\n")

printf("答题结束,你总共答对%d道题目。\n", Test())

return 0

}

你没有交代这几个数组明确塌答意团绝慧思。

从代码大宏运意看,我假设num,a分别表示试卷的题号和选择的选项。num2,b分别表示正确答案的题号和选项(这么看num多余了,本来1到N就是题号)。

那么你只需要再定义一个数组记录每题选择的正确与否,然后循环比较给数组赋值就可以了(用strcmp函数就好了,在string.h头文件下)。

比如int i,s[N]={0}(1表示正确,0表示错误)。

for(i=0i<Ni++)

if(strcmp(a[i],b[i])==0)

s[i]=1

这样就可以了,值为1的数量就是正确的答题数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12460644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存