您的位置:首页 > 其它

习题3-3 数数字 解题报告

2015-11-26 21:27 204 查看
题目:



代码:

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
char a[40000];
char c[6];
int b[11];
int main()
{
int n,i,k,p;
cin >> n;
while(n--)
{
cin >> k;
memset(a,0,40000*sizeof(char));
memset(b,0,11*sizeof(int));

for(i=1;i<=k;i++)
{

sprintf(c,"%d",i);
strcat(a,c);

for(i=0;i<strlen(a);i++)
{
p=a[i]-'0';
b[p]++;
}
for(i=0;i<10;i++)
{
cout << b[i] ;
if(i!=9)
{
cout << " ";
}
}

cout << endl;
}
return 0;
}


解析:

1、开大数组要开在mian函数外,因为全局变量占用的是堆内存,局部变量占用的是栈内存,大的局部变量数组会导致栈溢出。

2、strcat()为字符串链接函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: