当前位置:编程学习 > C/C++ >>

C语言程序设计题目,俺不会做

1、编写一个通用函数,用于从一个一维整形数组中寻找指定的一个数,若找到,则返回该数在数组中的下标值,否则返回—1 2、要求编写一个自定义函数sort,完成对n个字符串的降序排序,然后在main函数中调用sort对"Bejing 、Shanghai、 Shenzhen、 Nanjing 、Dalian、Qingdao‘'这6个字符串排序,要求用指针数组表示这6个字符串。
答案:1.程序如下:
#include <stdio.h>
void main()
{  int a[100];
int i,n,m;
printf("请输入数组元素个数");
scanf("%d",&n);
   printf("请输入数组元素(各元素之间用enter键):");
   for(i=0;i<n;i++)
	 scanf("%d",&a[i]);
printf("请输入要查找的数");
scanf("%d",&m);
for(i=0;i<=n;i++)
 if(a[i]==m)
  printf("该数的下标:%d\n",i);
  if(i>=n) printf("%d",-1);
}
2.程序如下:
#include<stdio.h>
#include<string.h>
void main()
{
	void sort(char *name[],int n);
	void print(char *name[],int n);
	char *name[]={"Bejing","Shanghai","Shenzhen","Nanjing","Dalian","Qingdao"};
	int n=6;
	sort(name,n);
	print(name,n);
	}
void sort(char *name[],int n)
{
	char *temp;
	int i,j,k;
	for(i=0;i<n-1;i++)
    {k=i;
	for(j=i+1;j<n;j++)
		if(strcmp(name[k],name[j])>0)k=j;
		if(k!=i)
		{temp=name[i];name[i]=name[k];name[k]=temp;}
	}
}
	void print(char *name[],int n)
	{
		int i;
	for(i=0;i<n;i++)
		printf("%s\n",name[i]);
	}
其他:这个你在C语言上机100套题里边去找,原题! int Find(int a[],int n,int num)
{
	for(int i=0;i<n;i++)
	{
		if(a[i]==num)
			return i;
	}
	return -1;
} 

上一个:(C语言)检查为什么没有输出平均分以及最高成绩者
下一个:c语言程序

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,