统计c语言中注释个数,算法设计与分析 1-1 统计数字问题(C语言版)

问题描述:

一本书的页码从自然数1开始顺序编码直到自然数n。书的页码 按照通常的习惯编排,一个页码内都不包含多余的前导数字0.例如,第6页用数字6表示,而不是06或006等;数字计数问题要求给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,……9.

编辑任务:

给定表示书的总页码的十进制数n。变成计算书的全部页码 中分别用到多少次0,1,……9.

数据输入:

输入数据由文件名为input.txt的文本文件提供。每个文件只有一行,给出表示书的总页码的整数n。

结果输出:

程序运行结束时,将计算结果输出到文件output.txt中。输出文件共有10行,在地k行输出页码中用到的数字(k-1)的次数,k=1,2,……10.

c程序代码如下:

(此题用到了重定向问题)

#include

#include

int a[10]={0};

void count(int n)

{

while (n > 0)

{

a[n%10] += 1;

n = n/10;

}

}

int main()

{

int i,j,n;

freopen("E:\\input.txt", "r", stdin);

freopen("E:\\output.txt","w",stdout) ; //此时若把 freopen("E:\\output.txt","w",stdout)注释掉,便可以在控制台看到结果!

int temp;

scanf("%d",&temp);

for(i=1;i<=temp;i++)

{

count(i);

}

for(j=0;j<=9;j++)

{

printf("%d\n",a[j]); //在控制台输出结果

}

}

/*(1)我们平常读取数据都要从stdin读取,就是从标准输入读取数据,用freopen("file.in", "r", stdin),

就是不再从stdin读取,而是从file.in读取;

(2)平常写数据是写到stdout,就是写到标准输出,显示在控制台上,用freopen("file.out", "w", stdout);

就是直接写在file.out文件里,不在控制台上输出了

(3)函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。

所以说,scanf此时读取的便是文件中的数据,并把它保存在了变量temp中 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值