1、将输入数的倒序的数输出。
#include <stdio.h>
int main()
{
int n;
int i=0;
int j=0;
printf("Please input a num: ");
scanf("%d",&n);
while(n!=0)
{
i=n%10;
n=n/10;
j=j*10+i;
}
printf("%dgnosgnos\n",j);
return 0;
}
注意:n=n/10 j=j*10+i的应用,尤其是第二个式子,使本是4个数字的2 4 3 5输出成1个数字2435.
2、按照规定格式输出乘法表。
#include <stdio.h>
int main()
{
int i;
int j;
int n;
int ch=' ';
printf("i * j");
for(i=1;i<10;i++)
printf("%5d",i);
printf("\n");
for(i=1;i<11;i++)
printf("-----");
printf("\n");
for(i=1;i<10;i++)
{
printf("%4d|",i);
for(n=1;n<i;n++)
printf("%5c",ch);
for(j=i;j<10;j++)
{
printf("%5d",i*j);
}
printf("\n");
}
return 0;
}
注意:(1)程序都是一行一行输出的,要从这方面考虑输出顺序! (2)对于空格的输出
(3)对于嵌套循环的利用及对循环判断条件的利用(for(j=i;j<10;j++)),一般需要输出多个相同字符或字符串时考虑for循环
3、输入一串含有数字的字符串,然后输出该字符串中最长的数字串中的数字个数,以及在字符串中开始的位置。
#include <stdio.h>
int main()
{
char str[100];
int i=0;
int max_len=0;
int len=0;
int max_loc=0;
int loc=0;
int flag=0;
printf("Please input string with numbers: \n");
scanf("%s",str);
while(str[i] != '\0')
{
if(str[i] <= '9' && str[i] >= '0')
{
if(flag==0)
{
loc=i;
flag=1;
}
len++;
}
else
{
if(max_len<len)
{
max_loc=loc;
max_len=len;
}
if(flag==1)
{
flag=0;
len=0;
}
}
i++;
}
if(max_len<len)
{
max_len=len;
max_loc=loc;
}
printf("max length is %d,loction is %d\n",max_len,max_loc);
printf("the num is ");
for(i=max_loc;i<=max_len+max_loc;i++)
{
printf("%c",str[i]);
}
printf("\n");
return 0;
}
注意:(1)整型数字与字符数字是不一样的(if(str[i] <= '9' && str[i] >= '0') ) (2)数组中没有输入数据的部分的值为‘\0’
(3)对于各种嵌套情况的考虑 (4)对于变量的命名,最好是赋予有含义的名字