c语言作业 很急!!!!!!!!! C语言作业!!急!!

作者&投稿:豆追 (若有异议请与网页底部的电邮联系)
#include "stdio.h"
void main()
{
int a;
int num = 0;
scanf("%d",&a);
while (a!=0)
{
printf("%d\n",a%10);
num++;
a/=10;
}
printf("共有%d位数字\n",num);
return;
}

根据题目要求,我给你写了一个完整的程序给你参考。
源代码如下(vc++ 6.0下编译通过):
#include <stdio.h>

#define MAX_NUM 4

int main(void)
{
int i = 0;
int num = 0;
int num_count = 0;
int a[MAX_NUM] = { 0 };

printf("please input a number(0-9999): \n");
scanf("%d", &num);

while (num % 10)
{
a[num_count++] = num % 10;
num /= 10;
}

printf("num_count: %d\n", num_count);

printf("sequence: \n");
for (i = num_count - 1; i >= 0; i--)
{
printf("%d ", a[i]);
}
printf("\n");

printf("inverted sequence: \n");
for (i = 0; i < num_count; i++)
{
printf("%d ", a[i]);
}
printf("\n");

return 0;
}

希望对你有帮助。

C语言大作业 很急!!!!!!~

VC++6.0上运行正常,
采集相关模块没有问题,
但是统计相关的处理有BUG,建议你最好将函数返回值都用变量保存后,在进行加法处理。
尽量避免:
num=MaleNum()+FemaleNum();
这种写法,因为有的编译器会出现外部函数返回值生命期的BUG。
最好写成:
int num1=MaleNum();
int num2=FemaleNum();
num=num1+num2;

//(1)
#include

bool ifsqr(int num);

main()
{
int num=1;
while(1)
{
if(ifsqr(num+111)&&ifsqr(num+1647))
{
printf("Password:%d",num);
break;
}
num++;
}
}

bool ifsqr(int num)
{
int n=1;
int nn=0;
while(1)
{
nn=n*n;
if(nn==num)
{
return true;
}
else if( nn>num)
{
break;
}
n++;
}
return false;
}