3.下面程序的功能是使一个一维数组和一个二维数组同处一个共用型,将 数据输入一维数组后,在二维数组中输出。请填空使程序完整、正确。 #include<stdio.h> int main() { union data { int a[10]; int §; union data ab; int i, j; for (¡=0;<10;i++) scanf( "%d", &ab. ); for (i = 0; ¡ < 2; it+ ) for (j = 0;j < 5; j++) printf( "%d", ab.blilljl); return(0);
时间: 2024-03-23 14:40:35 浏览: 112
下面是完整、正确的程序:
```
#include<stdio.h>
int main() {
union data {
int a[10];
int b[2][5];
} ab;
int i, j;
for (i=0;i<10;i++)
scanf( "%d", &ab.a[i]);
for (i = 0; i < 2; i++ )
for (j = 0;j < 5; j++)
printf( "%d", ab.b[i][j]);
return(0);
}
```
注:在共用体中定义的成员变量共用同一块内存,所以可以通过不同的方式访问同一块内存,这里的二维数组 b[2][5] 就是通过共用体 data 中的一维数组 a[10] 实现的。
相关问题
请写出C语言代码并且用二维字符数组方法编程实现从键盘任意输入10个字符串,将这10个字符串按字典顺序排序后打印输出,字符串最大长度80。 **输入提示信息格式: 无 **输入数据格式要求: 要求读入的字符串可以包含有空格 **输出数据格式要求: 一行输出一个字符串 注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。
#include<stdio.h>
#include<string.h>#define MAX_LEN 81
#define MAX_STR 10int main(){
int i,j;
char str[MAX_STR][MAX_LEN];
char temp[MAX_LEN]; printf("请输入10个字符串:\n");
for(i=0; i<MAX_STR; i++){
scanf("%s",str[i]);
} for(i=0; i<MAX_STR; i++){
for(j=i+1; j<MAX_STR; j++){
if(strcmp(str[i],str[j])>0){
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
} printf("排序后结果如下:\n");
for(i=0; i<MAX_STR; i++){
printf("%s\n",str[i]);
} return 0;
}
阅读全文
相关推荐

















