我正在嘗試創建一個顯示一周中天數的程式。星期一是 1,星期二是 2,星期三是 3,……星期日是 7。如果用戶輸入為 3,則輸出為 1 2 3。如果用戶輸入為 10,則輸出為 1 2 3 4 5 6 7 1 2 3。
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
for( int i = 1; i <= n; i )
{
if(i > 7)
{
continue;
}
printf("%d ", i);
}
return 0;
}
如果我輸入 10,這段代碼只會輸出 1 2 3 4 5 6 7。
uj5u.com熱心網友回復:
寫吧
for( int i = 0; i < n; i )
{
printf( "%d ", i % 7 1 );
}
putchar( '\n' );
或者最好為幻數 7 引入一個命名常量,例如
enum { DAYS_IN_WEEK = 7 };
for( int i = 0; i < n; i )
{
printf("%d ", i % DAYS_IN_WEEK 1 );
}
putchar( '\n' );
uj5u.com熱心網友回復:
`#include <stdio.h>
int main()
{
int n;
int p=1;
scanf("%d", &n);
for( int i = 1; i <= n; i )
{
if(p == 8)
{
p = 1;
}
printf("%d ", p);
p = p 1;
}
return 0;
}`
uj5u.com熱心網友回復:
使用模運算子或通用計數器:
void printDays(unsigned day)
{
while(day)
{
for(unsigned wd = 1; day && wd < 8; wd , day--)
printf("%u ", wd);
}
printf("\n");
}
void printDays1(unsigned day)
{
for(unsigned d = 0; d < day; d ) printf("%u ", d % 7 1);
printf("\n");
}
https://godbolt.org/z/6W6Gz7G9o
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516688.html
標籤:C循环for循环
