c数组编程题
#include<stdio.h>
void inputa(int a[],int n){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
}
void merge(int a[],int b[],int n,int m,int c[]){
int i=0,j=0,k=0;
while(i<n&&j<m ){
if(a[i]<b[j])c[k++]=a[i++];
else c[k++]=b[j++];
}
while(i<n){
c[k++]=a[i++];
}
while(j<m ){
c[k++]=b[j++];
}
}
void outa(int a[],int n){
for(int i=0;i<n;i++)
printf("%d ",a[i]);
}
int main(){
int n=6,m=4;
int a[6],b[4],c[10];
inputa(a,n);
inputa(b,m);
merge(a,b,n,m,c) ;
outa(c,n+m);
}
B. c语言数组编程题
#include<stdio.h>
int sum(int *a,int *b)
{
for(int i=6,j=0;i<10;j++,i++)
a[i]=b[j];
}
int main()
{
int a[11],b[5];
for(int i=0;i<6;i++)
scanf("%d",&a[i]);
for(int i=0;i<4;i++)
scanf("%d",&b[i]);
sum(a,b);
for(int i=0;i<10;i++)//将合并后的数组排序
for(int j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(int i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
C. C语言编程题:定义一个数组,然后利用循环为数组输入10个整数,然后再将数组输出,请问该怎么做
#include<stdio.h>
int main(){
int a[10]={},i,sum=0;
printf("请输入10个整数: ");
for(i=0;i<10;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
printf("10个元素和为:%d",sum);
return 0;
}
(3)c数组编程题扩展阅读:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
D. c语言数组编程题
思路:按题意,用指针遍历字符串st,使用标识念竖变量flag首次遇到字母置1并计数,遇到空格时flag重置0。
注意:本程序不考虑夹杂非字母的情况,请规范输入。比如“I am a stu**dent”,stu**dent将作为一个单词识别。
下面是代码:
#include <stdio.h>
int GetWordNum(char st[])
{
char *p=st;
int cnt=0,flag=0;
while(*p)
{
if(flag==0 && ((*p>='a' && *p<='z') || (*p>='A' &&碧差 *p<='Z')))
cnt++,flag=1;
if(flag &&仔慧大 *p==' ')
flag=0;
p++;
}
return cnt;
}
int main()
{
char str[]="I am a student";
printf("%s共计单词个数%d ",str,GetWordNum(str));
return 0;
}
E. C语言数组程序题。。。
intmain(){
intnum1[20],num2[20],num3[20],num4[20];
inti,j,j1=0,j2=0,k1=0,k2=0,tmp,flag=0;
chara=0;
while(a!=' '){
scanf("%d",&num1[j1++]);
a=getchar();
}
a=0;
while(a!=' '){
scanf("%d",&num2[j2++]);
a=getchar();
}
for(i=0;i<j1;i++){
for(j=0;j<j2;j++){
if(num1[i]==num2[j]){
flag=1;
}
}
if(flag){
num3[k1++]=num1[i];
}else{
num4[k2++]=num1[i];
}
flag=0;
}
for(i=0;i<j2;i++){
for(j=0;j<j1;j++){
if(num2[i]==num1[j]){
flag=1;
}
}
if(!flag){
num4[k2++]=num2[i];
}
flag=0;
}
for(i=0;i<(k2-1);i++){
for(j=i+1;j<k2;j++){
if(num4[i]>num4[j]){
tmp=num4[i];
num4[i]=num4[j];
num4[j]=tmp;
}
}
}
for(i=0;i<k2;i++){
printf("%d",num4[i]);
}
printf(" ");
for(i=0;i<(k1-1);i++){
for(j=i+1;j<k1;j++){
if(num3[i]>num3[j]){
tmp=num3[i];
num3[i]=num3[j];
num3[j]=tmp;
}
}
}
for(i=0;i<k1;i++){
printf("%d",num3[i]);
}
return0;
}
F. C语言字符数组编程题
思路:按题意,用指针遍历字符串st,使用标识变量flag首次遇到字母置1并计数,遇到空格时flag重置0。
注意:本程序不考虑夹杂非字母的情况,请规范输入。比如“I am a stu**dent”,stu**dent将作为一个单词识别。
下面是代码:
#include <stdio.h>
int GetWordNum(char st[])
{
char *p=st;
int cnt=0,flag=0;
while(*p)
{
if(flag==0 && ((*p>='a' && *p<='z') || (*p>='A' && *p<='Z')))
cnt++,flag=1;
if(flag && *p==' ')
flag=0;
p++;
}
return cnt;
}
int main()
{
char str[]="I am a student";
printf("%s共计单词个数%d ",str,GetWordNum(str));
return 0;
}