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

c语言数字变数组

发布时间: 2022-07-06 20:37:47

c语言读取文件中数字并且转为二维数组

1、使用双层循环语句,就可以依次把数据顺序读入到一个二维数组当中了。
2、例程:
#include <stdio.h>
#include <string.h>
#define MAXLINE 3
#define MAXCOLUMN 10
void main(void){
FILE *fp; //文件指针
char arr[MAXLINE][MAXCOLUMN]={0}; //定义3行10列的二维数组并初始化
int i = -1;
if((fp=fopen("./test/filename.txt","r"))==NULL){ //打开txt文件
perror("File open error!\n");
return;
}
while((fgets(arr[++i],MAXCOLUMN+1,fp))!=NULL) //读取一行并存到arr数组
printf("%d: ",i); //打印行号
//puts(arr[i]);
char *subarr = strtok(arr[i]," "); //以空格为分隔符从arr[i]中获得字串
while(subarr!=NULL){
data[i][j] = atoi(subarr); //将字串转为int型数据存入data数组
printf("%d\t",data[i][j]); //打印data[i][j
subarr = strtok(NULL," "); //继续获得arr[i]中的字串
j++; //data数组列加一
}
printf("\n");
}
//循环完毕后,所有数据已在data数组中
printf("\n");
fclose(fp); //关闭指针
}

㈡ C语言中如何将double型数据转换为数组

思路是:
先将Double型的数字整数部分变为整型数字一一取到数组中去(用循环整除可以做到,比如double i=123.456,就可以先把整数部分用j=(int)i强制类型转换取出放入整型变量j中,再依次取到数组a中
(a[k++]=i%10;i/=10;)
这两句语句就可以做到(不过数字是倒序的,最后输出时要注意)。
再看小数部分,同理,但不用除法,而用乘法,先去除整数部分
(j=j-(int)j;)
再将小数部分不断的乘10取整,取一位去除一位,存入另一数组:
l=(int)(j*10);
b[k++]=l;
j=j*10-l;...直到j*10==0为止
这样就可以把j中的数按位取到了两个数组中,接下去只要将两数组合并到C数组中去,或者依次输出整数部分和小数部分,中间别忘加小数点,输出成字符在C语言里可以这样:
printf("%c",a[i]+'0');
printf(".");
printf("%c",b[i]+'0');

以上就是我的算法,请高手看了不要笑话,希望能给楼主带来启发。

㈢ 用c语言 将20位以内的数字转为数组,并判断输入的数字的个数

其实很简单啊。如下:
#include <stdio.h>
#include <string.h>
int main()
{
char c[21]; // 以字符串形式读取
int a[21],size,i; // 存入int数组a中
gets(c); // 读取,输入应该是一串连续的数字
size = strlen(c); // 计算输入数字的个数
for(i=0;i<size;i++) a[i]=c[i]-'0'; // 将char数组的每一位转化为int数组对于的位
for(i=0;i<size;i++) printf("%d", a[i]); // 输出
printf("\nsize = %d\n", size); // 个数
return 0;
}

㈣ C语言中如何将一个数字的各位数字以数组方式输出

#include <stdio.h> #include <string.h> int main() { char a[100]; int n,i; scanf("%s",a); n=strlen(a); for(i=0;i<n;i++) printf("%c ",a[i]); }

㈤ c语言问题-把数字转换为字符数组

#include
<stdio.h>
void
main()
{
int
i=10;
char
s[10];定义定符数组
sprintf(s,"%d",i);//把字转换成字符放到数据里
//
itoa(i,s,10);
//效果一样的
printf("%s",s);//打印结果
}

㈥ C语言,已知一串数字123456怎么把它放到数组里面

一串数字,是一个整数吗?还是一个字符串?如果是字符串的话,本身就是一个数组。整数的话就把每位取出来赋值。

#include "stdafx.h"

#include <iostream>

using namespace std;

#define N 20

int main()

{

int num,a[N],n=0;

char s[N];

cout << "请输入一串数字(数字处理):" << endl;

cin >> num;

int temp = num;

while (temp)

{

n++;

temp /= 10;

}

for (int i = n - 1; i >= 0; i--)

{

a[i]=num%10;

num /= 10;

}

for (int i = 0; i < n; i++)

cout << a[i] << " ";

cout << " 请输入一串数字(字符串处理):" << endl;

cin >> s;

for (int i = 0;s[i]!=''; i++)

cout << s[i] << " ";

cout << endl;

system("pause");

return 0;

}

㈦ C语言 怎么从键盘上输入数字赋给数组

思路:先键盘输入一个数赋值给数组的第一个数,并且赋值给最大数max,同时设置最大值下标为0,接着for循环依次赋值给数组相应位置并判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和最大数下标。参考代码: #include "stdio.h" int main() { int i,a[10],max,maxi; scanf("%d",&a[0]); max=a[0]; maxi=0; for(i=1;imax){ max=a[i]; maxi=i; } } printf("最大数为:%d,最大数下标为:%d",max,maxi); return 0;}/*运行结果:(例如求5的阶乘) 1 2 5 3 4 6 7 9 8 0最大数为:9,最大数下标为:7*/

㈧ C语言如何将多个数字存入一个数组中

1、使用多维数组读入数字即可。

2、例程:

#include<stdio.h>
intmain(void)
{
inta[3][4],i=0,j=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d;",&(a[i][j]));
for(i=0;i<3;i++){
printf(" a[%d]=",i);
for(j=0;j<4;j++)printf("%d",a[i][j]);
}
return0;
}
/*运行后输入:
1234;2233;4455
输出:
a[0]=1234
a[1]=2233
a[2]=4455*/

㈨ C语言怎么让键盘输入数字到数组里

1、首先打开电脑的编辑软件。然后创建编辑项目。

㈩ C语言如何把输入进去的数放到数组中

有两种方式:
1
先输入数值,在存放在数组的对应位置中,即赋值给对应元素。

scanf("%d",&i);
a[k]
=
i;
就是先输入到变量i中,然后把i存储在a的第k个元素中。
2
直接输入到数组对应元素中。

scanf("%d",&a[k]);
与1中的例子是相同效果,只是减少了中间变量的使用。