C语言如何循环输出1到0这10位数字8遍,即1234567890…?

Python025

C语言如何循环输出1到0这10位数字8遍,即1234567890…?,第1张

#include<stdio.h>

int main()

inti;

for(i=1i<=8i++)

printf("1234567890\n");

return0;

扩展资料:

for 循环语句的一般形式为:

for (表达式1; 表达式2; 表达式3)

语句;

首先要强调两点:

1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。

2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。

因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。

#include <stdio.h>

#include <string.h>

void my_itoa(unsigned long int m, char a[], int p){

    int i=0

    while(m>0) {

         a[i]=m%p+'0'

         m=m/p

         i=i+1

    }

    a[i]=0

    int n=i

    int j

    int mid =n/2

    for(i=0,j=n-1i<midi++,j--) {

        if(a[i] != a[j]) a[i]=(a[i]+a[j])-(a[j]=a[i])

    }

    return

}

int isCircle(unsigned long int m) {

     if(m>0 && m<10) return 1

     char a[32]

     my_itoa(m,a,10)

     if(strstr(a,"0")) return 0

     int n=strlen(a)

     int i,j

     for(i=1i<ni++) {

         for(j=0j<ij++) {

             if(a[i]==a[j]) return 0

         }

     }

     int visited[n]

     for(i=0i<ni++) visited[i]=0

     

     visited[0]=1

     int start=0

     int end= (a[start]-'0'+start)%n

     while(visited[end]==0) {

         visited[end]=1

         start=end

         end=(a[start]-'0'+start)%n

     }

     

     for(i=0i<ni++) {

         if(visited[i]==0) return 0 

     }

     return end==0     

}

int main(int argc, char* argv[]) {

    unsigned long m

    while(scanf("%u",&m)!=EOF) {

       while(!isCircle(++m))

       printf("%u\n",m)

    }

    return 0

}

1.

根据次数循环输入 根据循环次数输入 ​ 首先输入循环次数,然后可进行多次输入,注意:循环条件是n --,而不是 – n具体区别是n --的值是n,而-- n的值是n-1,这样导致-- n的循环次数会少1#include<stdio.h>intmain(intargc,charconst*argv[]){intnintwscanf("%d",&n)//确定循环n次while(n--){//while循环条件是括号中的值不为0则进行循环,所以直接每次循环后都减一printf("%d循环\n",n)scanf("%d",&w)printf("%d\n",w)}return0}

2.

根据条件循环输入 1.死循环输入 ​ while循环条件是括号中的值为不为0则进行循环,所以直接为