c语言编程问题!!
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超...
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
展开
7个回答
展开全部
// ZHIDAO_A1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a[100],b,acount;
cout<<"Please input the value of b:";
cin>>b;
cout<<"Please input the length of a:";
cin>>acount;//a数组的个数。
cout<<endl;
int i,i2;
int mid_temp;//冒泡排序的交换中转值。
for(i=0;i<acount;i++){
cout<<"Please input a["<<i<<"]:";
cin>>a[i];
}
//下面是排序
for(i=0;i<acount-1;i++){
for(i2=i+1;i2<acount;i2++){
if(a[i]>a[i2]){
mid_temp=a[i2];
a[i2]=a[i];
a[i]=mid_temp;
}
}
}
//把A-Z显示出来
for(i=0;i<acount;i++){
if (a[i]%b){
if(a[i]<=90 && a[i]>=65 ){
cout<<(char)a[i]<<" ";
}else{
cout<<(int)a[i]<<" ";
}
}
}
return 0;
}
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a[100],b,acount;
cout<<"Please input the value of b:";
cin>>b;
cout<<"Please input the length of a:";
cin>>acount;//a数组的个数。
cout<<endl;
int i,i2;
int mid_temp;//冒泡排序的交换中转值。
for(i=0;i<acount;i++){
cout<<"Please input a["<<i<<"]:";
cin>>a[i];
}
//下面是排序
for(i=0;i<acount-1;i++){
for(i2=i+1;i2<acount;i2++){
if(a[i]>a[i2]){
mid_temp=a[i2];
a[i2]=a[i];
a[i]=mid_temp;
}
}
}
//把A-Z显示出来
for(i=0;i<acount;i++){
if (a[i]%b){
if(a[i]<=90 && a[i]>=65 ){
cout<<(char)a[i]<<" ";
}else{
cout<<(int)a[i]<<" ";
}
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下就是代码实现,注释写的很详细就不多解释了,最后附上一组测试样例。
#include <iostream>
#include <algorithm>
using namespace std;
int in[105];
int main()
{
int n,b;
cin >> n;
for(int i = 0;i < n;i++)
{
cin >> in[i]; //表示输入的给定的数组值
}
cin >> b; //题中所述b
sort(in,in + n); //对输入数组排序,从小到大
for(int i = 0;i < n;i++)
{
if(in[i] % b == 0) continue; //删除被b整除的数
if(in[i] >= 'A' && in[i] <= 'Z') printf("%c ",in[i]); //此时按照字符输出
else printf("%d ",in[i]);// 此时输出原来的数字即可
}
return 0;
}
/*
输入:
5
100 23 78 94 86 //数组in的数值
10 //b
输出:
23 N V 94
*/
#include <iostream>
#include <algorithm>
using namespace std;
int in[105];
int main()
{
int n,b;
cin >> n;
for(int i = 0;i < n;i++)
{
cin >> in[i]; //表示输入的给定的数组值
}
cin >> b; //题中所述b
sort(in,in + n); //对输入数组排序,从小到大
for(int i = 0;i < n;i++)
{
if(in[i] % b == 0) continue; //删除被b整除的数
if(in[i] >= 'A' && in[i] <= 'Z') printf("%c ",in[i]); //此时按照字符输出
else printf("%d ",in[i]);// 此时输出原来的数字即可
}
return 0;
}
/*
输入:
5
100 23 78 94 86 //数组in的数值
10 //b
输出:
23 N V 94
*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询