这是第一个题目,没找出来错误
第二个题目完全没有思路
求帮忙!(凑字了多凑几个字够了吗不知道)
供参考:
//第一题
#include <stdio.h>
int main()
{
int x = 1, i, j, k; //修改
while (x) //修改
{
printf(" 1--输出图形1\n"); //修改
printf(" 2--输出图形2\n"); //修改
printf(" 0--退出\n"); //修改
scanf("%d", &x);
switch (x) {
case 1:
for (i = 5; i > 0; i--) //修改
{
for (k = 1; k <= 5 - i; k++)
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
printf("\n");
}
break; //修改
case 2:
for (i = 1; i < 5; i++) //修改
{
for (k = 1; k < 5 - i; k++)//修改
printf(" ");
for (j = 1; j <= 2 * i - 1; j++)
printf("%c", i + 'A' - 1);
printf("\n");
}
break; //修改
case 0:printf("退出"); //修改
break;
default: break;
}
}
return 0;
}
//第二题
#include <stdio.h>
int fun(int n) //素数判断
{
int i;
if (n < 4)
return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int k, x, i, j = 0;
printf("请输入x的值:");
scanf("%d", &x);
printf("请输入k的值:");
scanf("%d", &k);
for (i = x + 1, j = 0; j != k; i++)
{
if (fun(i)) {
j++;
printf("%5d", i);
if (j % 5 == 0 && j != k)
printf("\n");
}
}
return 0;
}
//第二题用 while()循环的写法
#include <stdio.h>
int fun(int n) //素数判断
{
int i;
if (n < 4)
return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int k, x, j = 0;
printf("请输入x的值:");
scanf("%d", &x);
printf("请输入k的值:");
scanf("%d", &k);
while(x++)
{
if (fun(x)) {
j++;
printf("%5d", x);
if (j % 5 == 0 && j != k)
printf("\n");
if (j == k) break;
}
}
return 0;
}