当前位置:首页 » 编程语言 » c语言countnum
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言countnum

发布时间: 2022-09-03 09:44:42

‘壹’ 求c语言判断输入整数个数的程序,就是随便输整数,不刻意记,然后输出是整数的个数

#include <stdio.h>
/* 定义一行最大能输入的字符数 */

#define MAXLEN 256

/* 统计一行中的有效整数个数(不含负数,需要负数请自行修改条件 */

int CountNum(char *Words)
{ int i,Valid,NewWord,Num;
Num=NewWord=0;
Valid=1;
for(i=0;Words[i]!=0;i++)
{ if(Words[i]==' '||Words[i]=='\t')
{ if(NewWord&&Valid)Num++;
NewWord=0;
Valid=1;
}
else if(Words[i]>='0'&&Words[i]<='9')
{ NewWord=1;
}
else Valid=0;
}
if(NewWord&&Valid)Num++;
return Num;
}

/* 主函数,连续输入数据,输入空行时表示输入结束 */

int main()
{ char Words[MAXLEN];
int Num=0;
for(;;)
{ gets(Words);
if(strlen(Words)<1)break;
Num+=CountNum(Words);
}
printf("Total %d valid integer numbers\n",Num);
gets(Words);
return 0;
}

‘贰’ c语言调用函数求一个整数数的位数

#include<stdio.h>
int
count
=
1;
int
calc(int
num){
while
(1
==
1)
{
count++;
num
/=
10;
if(num
<
0){
//小于0的数就变成正数
num
*=
-1;
}
if
(num
<
10)
{
break;
}
}
return
count;
}
void
main(){
int
num
=
0;
printf("请输入一个数:");
scanf("%d",&num)
printf("数字%d是一个%d位数!",num,calc(num));
}

‘叁’ 关于C语言的两个小问题

1.code:

#include<stdio.h>

#include<string.h>

intmain()

{

charstr[10000];

scanf("%s",str);

intlen=strlen(str);

charstr1[10500];

inti,j=0;

for(i=0;i<len;i++)

{

str1[j++]=str[i];

if((i+1)%4==0)/*每4个添加一个空格*/

str1[j++]='';

}

str1[j]='';/*添加字符结束符*/

printf("%s ",str1);

return0;

}

2.code:

#include<stdio.h>

#include<string.h>

intmain()

{

charstr[10000];

scanf("%s",str);

intlen=strlen(str);

inti,numCount=0,upCount=0,lowCount=0;

for(i=0;i<len;i++)

{

if(str[i]<='9'&&str[i]>='0')numCount++;

elseif(str[i]<='z'&&str[i]>='a')lowCount++;

elseif(str[i]<='Z'&&str[i]>='A')upCount++;

}

printf("number=%d,u_letter=%d,l_letter=%d ",numCount,upCount,lowCount);

return0;

}

‘肆’ 帮忙解释下C语言中这两行代码的执行顺序 for(count=0;count<3;count++) for(num=0;num<4;num++)

循环之前先输出count和num的值,具体是多少由前面的程序决定
然后进入两重循环,把count和num初始化为0
count=0,num=0,输出0 0 ,num++ ->num=1

count=0,num=1,输出0 1 ,num++ ->num=2
count=0,num=2,输出0 2 ,num++ ->num=3
count=0,num=3,输出0 3 ,num++ ->num=4
num=4不满足num<4的条件,跳出内循环,然后count++ ->count=1
然后再次进入内循环,num 再次被赋值为0,然后循环四次
count=1,num=0,输出1 0 ,num++ ->num=1

count=1,num=1,输出1 1 ,num++ ->num=2
count=1,num=2,输出1 2 ,num++ ->num=3
count=1,num=3,输出1 3 ,num++ ->num=4
num=4不满足num<4的条件,跳出内循环,然后count++ ->count=2
然后再次进入内循环,num 再次被赋值为0,然后循环四次
count=2,num=0,输出2 0 ,num++ ->num=1

count=2,num=1,输出2 1 ,num++ ->num=2
count=2,num=2,输出2 2 ,num++ ->num=3
count=2,num=3,输出2 3 ,num++ ->num=4
num=4不满足num<4的条件,跳出内循环,然后count++ ->count=3
不满足count<3的条件,跳出外循环,结束

‘伍’ 如何用C语言编写一个程序,输入10个0-9之间的整数,请统计每个数字出现的个数,并输出

#include<stdio.h>
int num[10],count[10], i=0,temp;
//判断输入的数字是否是0到9之间的数
int input(int num){
if(num>=0&&num<=9){
return 1;
}else{
return 0;
}
}
//初始化计数的数组
void initCount(){
int i = 0;
for(i=0;i<10;i++){
count[i]=0;
}
}
//统计每个数字出现的次数
void numCount(int num){
int i;
for(i=0;i<10;i++){
if(i==num){
count[i]++;
}
}
}
//输入数字
void runProm(){
initCount();
for(;i<10;){
printf("请输入第%d个数:",(i+1));
scanf("%d",&temp);
if(input(temp)==1){
num[i]=temp;
numCount(num[i]);
i++;
}else{
printf("你输入的数字不在0到9之间,请重新输入!\n\n");
runProm();
}
}
}
void main(){
int i;
runProm();
//输出每个数出现了几次
for(i=0;i<10;i++){
printf("%d出现了%d次!\n",i,count[i]);
}
}

‘陆’ i = Q->numCount -1在c语言中是什么意思

一种可能是定义了一个结构体Q,结构体中有一个int型的成员变量numCount;这句话的意思是把结构体Q中的变量numCount的值减1赋给i;

‘柒’ 用C语言,编一程序,输入十个数字,统计出现次数最多的数是多少,并写出次数

/*我个人觉得这道题的难度在于,当出现有两个或者两个以上数字的出现次数相同时,程序是否能同时把这两个出现次数相同的数字找出来。*/

//我使用的测试数据有3组,楼组可以输入下面或者其他的测试数据来测试程序。
//第一组测试数据:23,798,5,23,0,321,4689,37,56,3300. 23出现两次,为出现最多的数字
//第一组测试思量:有一个数字出现次数大于其余数字,检查在这种情况下程序是否正确。
//第二组测试数据是:23,798,5,10,0,321,4689,37,56,3300.所有数字都只出现一次,所以每个数字都符合题目要求,需要打印每个数字
//第二组测试思想:测试情况设置为每个数字只出现一次,并且1位、2位、3位、4位数字都有。
//第三组测试数据:23,798,5,10,798,321,4689,37,23,3300 23和798均出现两次
//第三组测试思量:测试情况设置为有两个数字出现次数一样,检查此时程序是否能同时把这两个数字输出
//我做的测试还是比较少的,但是能大致判断应该是正确的。
//输入的数字仅限整数。

#include<stdio.h>
#define MAX 10
void main()
{

int num[MAX];//num[i]数组用来存放第i个输入的数字
int num_count[MAX]={1,1,1,1,1,1,1,1,1,1};//num_count[i]用来存放第i个输入进来的数字的出现个数
int i,j;

printf("请输入%d个数字:\n",MAX);
for(i=0;i<MAX;i++)
{
scanf("%d",&num[i]);

for(j=0;j<i;j++)//第i个输入进来的数字和前面输入数字进行比较
{
if(num[j]==num[i])
{
num_count[j]++;
break;
}
}
}

int find_max_num=num[0];//find_max_num用来存放出现次数最多的数字的值
int find_max_count=num_count[0];//find_max_coun用来存放出现次数最多的数字的出现次数

for(i=1;i<MAX;i++)
{
if(num_count[i]>find_max_count)
{
find_max_count=num_count[i];
find_max_num=num[i];
}
}
printf("出现最多的数字是%d,一共出现了%d次\n",find_max_num,find_max_count);

for(i=0;i<MAX;i++)
{
if((num[i]!=find_max_num) && (num_count[i]==find_max_count))
printf("出现最多的数字是%d,一共出现了%d次\n",num[i],num_count[i]);
}
getchar();
getchar();
}

‘捌’ c语言,二维数组中查找指定元素个数

int
a[3][4];//这是定义一个3行4列的二维数组,3*4=12个元素
int
a[5][6];//这个就定义了一个5行6列的二维数组,5*6=30个元素
c语言的下标是从0开始编号的,编到行数与列数减1的位置,如int
a[3][4]
a[0][0]
a[0][1]
a[0][2]
a[1][0]
a[1][1]
a[1][2]
a[2][0]
a[2][1]
a[2][2]
这就与行列式的排列差不多。

‘玖’ c语言,编一个函数,统计任意一串字符中数字字符的个数,并在主函数中调用此函数。

#include<stdio.h>
#include<string.h>
intconNumfromStr(char*,int);
intmain()
{
charstr[21];
printf("输入20以内的字符:");
scanf("%s",str);
printf("字符串中数字字符个数为:%d",conNumfromStr(str,strlen(str)));
return0;
}
intconNumfromStr(char*p,intlen)//计数字符串中数字字符的个数
{
inti,con=0;
for(i=0;i<len;i++)
{
if(p[i]>='0'&&p[i]<='9')
con++;
}
returncon;
}

‘拾’ C语言 任意输入一个数,把各个数字分开,然后相加,怎么做

你可以再新建一个变量来累加:

#include<stdio.h>
intmain()
{
inta,s=0,k;
scanf("%d",&a);
while(a)
{
k=a%10;
printf("%d ",k);
a=a/10;
s=s+k;/*这里是关键,用s变量来累加,注意s一开始要初始化为0*/
}
printf("%d",s);
}