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的数量就是正确的答题数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)