C:如何在这个星号方块打印程序中添加重试功能
我需要一个要求整数的程序&根据输入的数字打印出一个emtpy星号方块。如果输入无效,我需要它再次尝试询问 . 这就是我到目前为止所做的(它已经可以基于一个可变数字生成一个平方),我只需要增强它,这样它就会再次询问用户是否太笨而无法输入整数C:如何在这个星号方块打印程序中添加重试功能,c,C,我需要一个要求整数的程序&根据输入的数字打印出一个emtpy星号方块。如果输入无效,我需要它再次尝试询问 . 这就是我到目前为止所做的(它已经可以基于一个可变数字生成一个平方),我只需要增强它,这样它就会再次询问用户是否太笨而无法输入整数 #include <stdio.h> int Loops() { int s, e, z; printf("Input number \n"); scanf("%d", &s); for(e = 0; e
#include <stdio.h>
int Loops() {
int s, e, z;
printf("Input number \n");
scanf("%d", &s);
for(e = 0; e < s; e++) {
for(z = 0; z < s; z++) {
if(e==0 || e==s-1 || z==0 || z==s-1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
int main() {
Loops();
}
#包括
int循环(){
int s,e,z;
printf(“输入编号\n”);
scanf(“%d”和“&s”);
对于(e=0;e
我想老师提到了添加一个开关盒…?我提出了这个解决方案,用几句话我检查了用户输入的数字类型,如果它大于0,那么运行,你不必担心它是浮点,因为你已经定义了一个整数类型,而非整数的部分是自动定位的
#include <stdio.h>
int Loops() {
int s, e, z;
printf("Input number \n");
scanf("%d", &s);
if (s > 0 ) {
for (e = 0; e < s; e++) {
for (z = 0; z < s; z++) {
if(e == 0 || e == s - 1 || z == 0 || z == s - 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
else
Loops();
}
int main() {
Loops();
return 0;
}
#包括
int循环(){
int s,e,z;
printf(“输入编号\n”);
scanf(“%d”和“&s”);
如果(s>0){
对于(e=0;e
您可以简单地使用无限循环,即而(1)
循环的条件是中断
。假设您希望用户输入正整数,同时丢弃负数和字母,您可以通过以下方式执行此操作:
int Loops() {
int s, e, z;
while(1)
{
printf("Input number \n");
e = scanf("%d", &s);
if((s <= 0) || (e != 1))
{
printf("Please Enter Non-negaitve Number\n");
getchar(); //This is to consume the '\n'
}
else
{
break;
}
}
for(e = 0; e < s; e++) {
for(z = 0; z < s; z++) {
if(e==0 || e==s-1 || z==0 || z==s-1)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
int循环(){
int s,e,z;
而(1)
{
printf(“输入编号\n”);
e=scanf(“%d”&s);
如果((s循环通常有助于再次执行某些操作。如果您想验证您读取的输入,那么它有助于了解可能返回的内容。并且知道如果失败,它将把输入保留在输入缓冲区中。因此,我要做的是,这是一个家庭作业,而不是?我们通常不喜欢在这里回答家庭作业,除非您有任何问题。)y特定的编码问题至少给出了一个解决问题的尝试。到目前为止,我还没有看到使用开关盒或if
或甚至检查s
来解决任何问题的尝试……如果用户输入a
或B
或任何其他字母表,那么?