第一题:给定一个数组nums[1, 5, 6, 2, 4],请你将该数组中最大的数输出。
- 这题我的思路是先定义数组的第一个位置的数为最大值,然后通过for循环将数组中的各个数从第一项第二项起开始比较,并输出比较之后的最大值maxnum。
#include<stdio.h>
int main()
{
int nums[]={1,5,6,2,4};
int maxnum=nums[0];
int i=0;
for(i=0;i<=4;i++)
{
if(maxnum<nums[i])
{
maxnum=nums[i];
}
}
printf("数组中的最大数是:%d",maxnum);
return 0;
}
第二题:编写程序,将两变量a, b的数值交换,例如a=1, b=2, 交换后a=2, b=1。
这题我的思路是通过一个中间变量t来互相交换a,b 的值。
#include<stdio.h>
int main()
{
int a,b,t;
printf("请输入两个整数a,b:");
scanf("%d%d",&a,&b);
t=a,a=b,b=t;
printf("交换后的两个整数a,b分别是:%d %d",a,b);
return 0;
}
第三题:编写程序,判断答案是否正确,如果输入1, 显示正确,输入0显示错误。(设answer为变量)
这题我的思路是通过if选择语句来对输入值进行判断,以此达到对答案的选择判断。
#include<stdio.h>
int main(void)
{
int answer;
printf("请输入你的答案:");
scanf("%d",&answer);
if(answer==0)
printf("这是错误答案!");
else
printf("这是正确答案!");
return 0;
}
第四题:编写程序,把560分钟换算成用小时和分钟表示,然后输出。
这题我想到的是利用求余符号%和除号/来计算输入分钟数的60的倍数m和除以60的余数n,m就是输出的小时数,n就是输出的分钟数。
#include<stdio.h>
int main()
{
int n,m,t;
printf("请输入分钟数:");
scanf("%d",&t);
n=t%60,m=t/60;
printf("转换结果为:%d小时%d分钟",m,n);
return 0;
}
第五题:如图所示,输出九九乘法口诀表。
这题我首先想到的是利用for的二次循环,,一开始我遇到了一个困难就是能将九九乘法表中所有的式子都输出,但是无法变成图例中的样子。然后我想到了换位符\n,但是由于不够了解for循环的运行,我第一次把换位\n放在了printf()里面输出的结果是一束式子。然后我发现是我第二个for循环里的条件写错了而且循环输出时应该利用%-3d来向左空出三个字符。
#include<stdio.h>
int main(void)
{
int i,j,n;
printf("\n");
for (i = 1; i <= 9;i++)
{
for (j = 1;j <= i; j++)
{
n=i*j;
printf("%d*%d=%-3d", i , j,n);
}
printf("\n");
}
return 0;
}